package org.example.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhx
 * @since 2025-01-17
 */
@TableName("users")
public class Users implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Integer userId;

    /**
     * 用户昵称
     */
    @TableField("nickname")
    private String nickname;

    /**
     * 用户手机号
     */
    @TableField("phone")
    private String phone;

    /**
     * 头像，字符串，存储用户头像的路径或链接
     */
    @TableField("avatar")
    private String avatar;

    /**
     * 个性签名，字符串，用户的个性签名，可为空
     */
    @TableField("signature")
    private String signature;

    /**
     * 能量值，整数，用户在平台上的能量数值
     */
    @TableField("energy_value")
    private Integer energyValue;

    /**
     * 关注数，整数，用户关注的其他用户数量
     */
    @TableField("follow_count")
    private Integer followCount;

    /**
     * 粉丝数，整数，关注该用户的其他用户数量
     */
    @TableField("follower_count")
    private Integer followerCount;

    /**
     * 获赞数，整数，用户获得的总点赞数
     */
    @TableField("like_received_count")
    private Integer likeReceivedCount;

    /**
     * 用户创建时间
     */
    @TableField("created_time")
    private LocalDateTime createdTime;

    /**
     * 用户更新时间
     */
    @TableField("updated_time")
    private LocalDateTime updatedTime;

    /**
     * 是否同意用户协议 0表示不同意，1表示同意 默认值为0
     */
    @TableField("is_user_agree")
    private Integer isUserAgree;

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
    public String getSignature() {
        return signature;
    }

    public void setSignature(String signature) {
        this.signature = signature;
    }
    public Integer getEnergyValue() {
        return energyValue;
    }

    public void setEnergyValue(Integer energyValue) {
        this.energyValue = energyValue;
    }
    public Integer getFollowCount() {
        return followCount;
    }

    public void setFollowCount(Integer followCount) {
        this.followCount = followCount;
    }
    public Integer getFollowerCount() {
        return followerCount;
    }

    public void setFollowerCount(Integer followerCount) {
        this.followerCount = followerCount;
    }
    public Integer getLikeReceivedCount() {
        return likeReceivedCount;
    }

    public void setLikeReceivedCount(Integer likeReceivedCount) {
        this.likeReceivedCount = likeReceivedCount;
    }
    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }
    public LocalDateTime getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(LocalDateTime updatedTime) {
        this.updatedTime = updatedTime;
    }
    public Integer getIsUserAgree() {
        return isUserAgree;
    }

    public void setIsUserAgree(Integer isUserAgree) {
        this.isUserAgree = isUserAgree;
    }

    @Override
    public String toString() {
        return "Users{" +
            "userId=" + userId +
            ", nickname=" + nickname +
            ", phone=" + phone +
            ", avatar=" + avatar +
            ", signature=" + signature +
            ", energyValue=" + energyValue +
            ", followCount=" + followCount +
            ", followerCount=" + followerCount +
            ", likeReceivedCount=" + likeReceivedCount +
            ", createdTime=" + createdTime +
            ", updatedTime=" + updatedTime +
            ", isUserAgree=" + isUserAgree +
        "}";
    }
}
